package com.otitan.la.forest.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.otitan.la.forest.system.dto.DicDTO;
import com.otitan.la.forest.system.entity.DicEntity;
import com.otitan.webapp.framework.basepro.model.DataResult;
import org.springframework.validation.BindingResult;

import java.util.List;

/**
 * 字典表
 *
 * @author jiacs
 * @email xxx
 * @date 2020-09-17 12:53:59
 */
public interface DicService extends IService<DicEntity> {
    /**
     * 新增
     *
     * @return
     */
    DataResult add(DicEntity dic, BindingResult bindingResult);

    /**
     * 批量删除
     *
     * @return
     */
    DataResult batchDelete(List<String> ids);

    /**
     * 修改
     *
     * @return
     */
    DataResult editor(DicEntity dic, BindingResult bindingResult);

    /**
     * 列表查询（分页）
     *
     * @return
     */
    DataResult findPageData(long page, long size, DicDTO dic);

    /**
     * 根据ID查询
     *
     * @return
     */
    DataResult findOne(String id);

    /**
     * 根据字典类型编码，获取字典值
     *
     * @param [dicTypeCodes]
     * @return com.otitan.webapp.framework.basepro.model.DataResult
     * @throws
     * @author jiachangsen
     * @date 2020/9/17 14:32
     */
    DataResult getOptions(String dicTypeCodes);

    /**
    * 当前方法实现说明
    * @author Sunke
    * @param []
    * @return void
    * @exception
    * @date 2020/10/10 0010 18:12
    */
    void saveToRedis();

    /**
    * 当前方法实现说明
    * @author Sunke
    * @param
    * @return
    * @exception
    * @date 2020/10/10 0010 18:12
    */
    String getDicName(String typeKey, String key);
}

